package xyz.naokeziteng.data_structure;

/**
 * @author hawk
 * @date 2022/7/27
 * @desc 栈
 **/
public interface Stack<E> {

    /**
     * 插入一个元素
     *
     * @param e 元素
     */
    void push(E e);

    /**
     * 取出一个元素
     *
     * @return 元素
     */
    E pop();

    /**
     * 查看栈顶元素
     *
     * @return 元素
     */
    E peek();

    /**
     * 查看数量
     *
     * @return 数量
     */
    int getSize();

    /**
     * 是否为空
     *
     * @return 布尔
     */
    boolean isEmpty();
}
